// ignore_for_file: dangling_library_doc_comments, slash_for_doc_comments
import 'package:json_annotation/json_annotation.dart';

import '../../../common_code/models/base_model.dart';

part 'home_tab_list_model.g.dart';

/*** 
 * @Author: Zhong
 * @Date: 2025-08-13 17:27:51
 * @LastEditors: Zhong zhongxiaodong@eenet.com
 * @LastEditTime: 2025-08-13 17:39:06
 * @FilePath: /wan_android_flutter/lib/module_code/home/models/home_tab_list_model.dart
 * @Description: 
 */

@JsonSerializable(explicitToJson: true)
class HomeTabListModel extends BaseModel {
  HomeTabListDataModel? data;

  HomeTabListModel({
    required super.errorCode,
    required super.errorMsg,
    this.data,
  });

  factory HomeTabListModel.fromJson(Map<String, dynamic> json) =>
      _$HomeTabListModelFromJson(json);

  Map<String, dynamic> toJson() => _$HomeTabListModelToJson(this);
}

@JsonSerializable(explicitToJson: true)
class HomeTabListDataModel {
  int? curPage;
  List<HomeTabListDataDataModel>? datas;
  int? offset;
  bool? over;
  int? pageCount;
  int? size;
  int? total;

  HomeTabListDataModel({
    this.curPage,
    this.datas,
    this.offset,
    this.over,
    this.pageCount,
    this.size,
    this.total,
  });

  factory HomeTabListDataModel.fromJson(Map<String, dynamic> json) =>
      _$HomeTabListDataModelFromJson(json);

  Map<String, dynamic> toJson() => _$HomeTabListDataModelToJson(this);
}

@JsonSerializable()
class HomeTabListDataDataModel {
  String? apkLink;
  int? audit;
  String? author;
  int? chapterId;
  String? chapterName;
  int? courseId;
  String? desc;
  String? descMd;
  String? envelopePic;
  int? id;
  String? link;
  int? publishTime;
  String? superChapterName;
  String? title;

  HomeTabListDataDataModel({
    this.apkLink,
    this.audit,
    this.author,
    this.chapterId,
    this.chapterName,
    this.courseId,
    this.desc,
    this.descMd,
    this.envelopePic,
    this.id,
    this.link,
    this.publishTime,
    this.superChapterName,
    this.title,
  });

  factory HomeTabListDataDataModel.fromJson(Map<String, dynamic> json) =>
      _$HomeTabListDataDataModelFromJson(json);

  Map<String, dynamic> toJson() => _$HomeTabListDataDataModelToJson(this);
}
